package org.dromara.commission.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.commission.listener.redisPlus.RedisPlusEntity;
import org.dromara.commission.listener.redisPlus.RedisPlusJudgeType;

import java.io.Serial;
import java.io.Serializable;

/**
 * 佣金清单视图对象 lzsh_commission_list
 *
 * @author Lion Li
 * @date 2024-07-25
 */
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
@TableName("lzsh_commission_list")
public class LzshCommissionListImportVo extends RedisPlusEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "id")
    private Long id;

    /**
     * col00
     */
    @ExcelProperty(value = "col00")
    private String col00;

    /**
     * col01
     */
    @ExcelProperty(value = "col01")
    private String col01;

    /**
     * col02
     */
    @ExcelProperty(value = "col02")
    private String col02;

    /**
     * col03
     */
    @ExcelProperty(value = "col03")
    private String col03;

    /**
     * col04
     */
    @ExcelProperty(value = "col04")
    private String col04;

    /**
     * col05
     */
    @ExcelProperty(value = "col05")
    private String col05;

    /**
     * col06
     */
    @ExcelProperty(value = "col06")
    private String col06;

    /**
     * col07
     */
    @ExcelProperty(value = "col07")
    private String col07;

    /**
     * col08
     */
    @ExcelProperty(value = "col08")
    private String col08;

    /**
     * col09
     */
    @ExcelProperty(value = "col09")
    private String col09;

    /**
     * col10
     */
    @ExcelProperty(value = "col10")
    private String col10;

    /**
     * col11
     */
    @ExcelProperty(value = "col11")
    private String col11;

    /**
     * col12
     */
    @ExcelProperty(value = "col12")
    private String col12;

    /**
     * col13
     */
    @ExcelProperty(value = "col13")
    private String col13;

    /**
     * col14
     */
    @ExcelProperty(value = "col14")
    private String col14;

    /**
     * col15
     */
    @ExcelProperty(value = "col15")
    private String col15;

    /**
     * col16
     */
    @ExcelProperty(value = "col16")
    private String col16;

    /**
     * col17
     */
    @ExcelProperty(value = "col17")
    private String col17;

    /**
     * col18
     */
    @ExcelProperty(value = "col18")
    private String col18;

    /**
     * col19
     */
    @ExcelProperty(value = "col19")
    private String col19;

    /**
     * col20
     */
    @ExcelProperty(value = "col20")
    private String col20;

    /**
     * col21
     */
    @ExcelProperty(value = "col21")
    private String col21;

    /**
     * col22
     */
    @ExcelProperty(value = "col22")
    private String col22;

    /**
     * col23
     */
    @ExcelProperty(value = "col23")
    private String col23;

    /**
     * col24
     */
    @ExcelProperty(value = "col24")
    private String col24;

    /**
     * col25
     */
    @ExcelProperty(value = "col25")
    private String col25;

    /**
     * col26
     */
    @ExcelProperty(value = "col26")
    private String col26;

    /**
     * col27
     */
    @ExcelProperty(value = "col27")
    private String col27;

    /**
     * col28
     */
    @ExcelProperty(value = "col28")
    private String col28;

    /**
     * col29
     */
    @ExcelProperty(value = "col29")
    private String col29;

    /**
     * col30
     */
    @ExcelProperty(value = "col30")
    private String col30;

    /**
     * col31
     */
    @ExcelProperty(value = "col31")
    private String col31;

    /**
     * col32
     */
    @ExcelProperty(value = "col32")
    private String col32;

    /**
     * col33
     */
    @ExcelProperty(value = "col33")
    private String col33;

    /**
     * col34
     */
    @ExcelProperty(value = "col34")
    private String col34;

    /**
     * col35
     */
    @ExcelProperty(value = "col35")
    private String col35;

    /**
     * col36
     */
    @ExcelProperty(value = "col36")
    private String col36;

    /**
     * col37
     */
    @ExcelProperty(value = "col37")
    private String col37;

    /**
     * col38
     */
    @ExcelProperty(value = "col38")
    private String col38;

    /**
     * col39
     */
    @ExcelProperty(value = "col39")
    private String col39;

    /**
     * col40
     */
    @ExcelProperty(value = "col40")
    private String col40;

    /**
     * col41
     */
    @ExcelProperty(value = "col41")
    private String col41;

    /**
     * col42
     */
    @ExcelProperty(value = "col42")
    private String col42;

    /**
     * col43
     */
    @ExcelProperty(value = "col43")
    private String col43;

    /**
     * col44
     */
    @ExcelProperty(value = "col44")
    private String col44;

    /**
     * col45
     */
    @ExcelProperty(value = "col45")
    private String col45;

    /**
     * col46
     */
    @ExcelProperty(value = "col46")
    private String col46;

    /**
     * col47
     */
    @ExcelProperty(value = "col47")
    private String col47;

    /**
     * col48
     */
    @ExcelProperty(value = "col48")
    private String col48;

    /**
     * col49
     */
    @ExcelProperty(value = "col49")
    private String col49;

    public String toCsvLine() {
        return id + "," +
            col00 + "," +
            col01 + "," +
            col02 + "," +
            col03 + "," +
            col04 + "," +
            col05 + "," +
            col06 + "," +
            col07 + "," +
            col08 + "," +
            col09 + "," +
            col10 + "," +
            col11 + "," +
            col12 + "," +
            col13 + "," +
            col14 + "," +
            col15 + "," +
            col16 + "," +
            col17 + "," +
            col18 + "," +
            col19 + "," +
            col20 + "," +
            col21 + "," +
            col22 + "," +
            col23 + "," +
            col24 + "," +
            col25 + "," +
            col26 + "," +
            col27 + "," +
            col28 + "," +
            col29 + "," +
            col30 + "," +
            col31 + "," +
            col32 + "," +
            col33 + "," +
            col34 + "," +
            col35 + "," +
            col36 + "," +
            col37 + "," +
            col38 + "," +
            col39 + "," +
            col40 + "," +
            col41 + "," +
            col42 + "," +
            col43 + "," +
            col44 + "," +
            col45 + "," +
            col46 + "," +
            col47 + "," +
            col48 + "," +
            col49;
    }

    @Override
    public RedisPlusJudgeType judge(Object oldFlag) {
//        Object flag = this.getFlag();//获取当前的标记位与oldFlag比对
        return RedisPlusJudgeType.JUDGE_TYPE_NONE;
    }

    @Override
    public Object getFlag() {
        return this.getCol01();
    }

}
